﻿using Abp.Domain.Entities.Auditing;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace Xugege.AbpExtension.Core.Extension.DataManager
{
    /// <summary>
    /// 数据字典
    /// </summary>
    [Table("DataDictionary")]
    public class DataDictionary : AuditedEntity<long>
    {
        /// <summary>
        /// 所属租户 为0 表示所有租户下共用的（一般是系统预设不可编辑的）
        /// </summary>
        [Required]
        public long TenantId { get; set; }
        
        /// <summary>
        /// 类别代码
        /// </summary>
        [Required]
        public string CategoryCode { get; set; }
        
        /// <summary>
        /// 字典代码（代码有层次关系 可以直接识别上下级关系）
        /// </summary>
        [Required]
        public string Code { get; set; }
        [Required]
        public string Name { get; set; }
        [Required]
        public string Value { get; set; }
        /// <summary>
        /// 是否可编辑 false时表示一旦添加不可修改
        /// </summary>
        [Required]
        public bool Editable { get; set; }
        /// <summary>
        /// 是否默认
        /// </summary>
        public bool IsDefault { get; set; }

    }
}
